<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <title>{{ object.product_name }}登陆</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta content="Mobile:13584935775,Email:35350428@qq.com" name="author"/>
    <meta name="KeyWords"
          content="{{ object.product_name }},数字建筑,数字化转型,{{ object.product_name }}软件下载,{{ object.product_name }}官网,{{ object.product_name }}软件,{{ object.product_name }}预算软件,{{ object.product_name }}官网软件下载,{{ object.product_name }}下载,免费算量软件,{{ object.product_name }}预算软件官网,{{ object.product_name }}工程预算软件,建筑设计软件,{{ object.product_name }}预算软件全套,{{ object.product_name }}学习版下载,{{ object.product_name }}官方网,模板算量,{{ object.product_name }}定额库下载,钢筋翻样免费软件,建筑工程施工,{{ object.product_name }}预算软件下载,{{ object.product_name }}算量软件,GEPS,项目管理,施工企业项目管理,成本管理,施工企业数字化"/>
    <meta name="Description"
          content=" {{ object.product_name }}中台，围绕工程项目的全生命周期，为客户提供数字化软硬件产品、解决方案及相关服务。公司业务面向建设方、设计方、制造厂商、供应商、施工方、运营方等产业链各参与方，以及金融、高校、投资并购等领域，提供以建设工程领域专业化应用为核心基础支撑，以产业大数据、产业链金融等为增值服务的数字建筑全生命周期解决方案。"/>
    <!-- App favicon -->
    <link rel="shortcut icon" href="/web/static/assets/images/favicon.ico">
    <!-- preloader css -->
    <link rel="stylesheet" href="/web/static/assets/css/preloader.min.css" type="text/css"/>
    <!-- Bootstrap Css -->
    <link href="/web/static/assets/css/bootstrap.min.css" id="bootstrap-style" rel="stylesheet" type="text/css"/>
    <!-- Icons Css -->
    <link href="/web/static/assets/css/icons.min.css" rel="stylesheet" type="text/css"/>
    <!-- App Css-->
    <link href="/web/static/assets/css/app.min.css" id="app-style" rel="stylesheet" type="text/css"/>
    <style>
        .has-error .form-control {
            border-color: red;
        }

        .has-success .form-control {
            border-color: rgb(19, 135, 82);
        }

        h1 {
            font-size: 15vw;
            margin: 0;
            padding-bottom: 0.5rem;
            letter-spacing: 0.4rem;
            color: #686cbb;
            transition: all 0.3s ease;
            text-align: center;
        }

        h1:hover {
            transform: translate3d(0, -10px, 22px);
            color: #ff0266;
        }
    </style>

</head>

<body>

<!-- <body data-layout="horizontal"> -->
<div class="auth-page">
    <div class="container-fluid p-0">
        <div class="row g-0">
            <div class="col-xxl-3 col-lg-4 col-md-5">
                <div class="auth-full-page-content d-flex p-sm-5 p-4">
                    <div class="w-100">
                        <div class="d-flex flex-column h-100">
                            <div class="mb-4 mb-md-5 text-center">
                                <a href="#" class="d-block auth-logo">
                                    <img src="/web/static/assets/images/logo-sm.svg" alt="" height="28"> <span
                                        class="logo-txt">{{ object.product_name }}</span>
                                </a>
                            </div>
                            <h1>4</h1>
                            <div class="auth-content my-auto">
                                <div class="text-center">
                                    <h5 class="mb-0">注册帐号 !</h5>
                                    <p class="text-muted mt-2"></p>
                                </div>

                                <form name="myForm" class="needs-validation custom-form mt-4 pt-2"
                                      onsubmit="return validateForm()" method="post" novalidate action="/web/signup">
                                    <div class="form-group mb-3">
                                        <label for="name" class="form-label">姓名</label>
                                        <input type="text" class="form-control" id="name" name="name"
                                               placeholder="输入姓名" required>
                                        <div class="valid-feedback">姓名已输入!</div>
                                        <div class="invalid-feedback">请输入姓名?</div>
                                    </div>
                                    <div class="mb-3">
                                        <label for="login" class="form-label">帐号</label>
                                        <input type="email" class="form-control" id="login" name="login"
                                               placeholder="35350428@qq.com" required>
                                        <div class="valid-feedback" id="erroremail">邮件地址不正确!</div>
                                        <div class="invalid-feedback">请输入邮件地址?</div>
                                    </div>


                                    <div class="form-group mb-3">
                                        <label for="password" class="form-label">密码</label>

                                        <div class="input-group auth-pass-inputgroup">
                                            <input type="password" class="form-control" id="password"
                                                   placeholder="请输入密码"
                                                   name="password" aria-describedby="inputGroupPrepend" required>

                                            <button class="btn btn-light ms-0" type="button" id="password-addon"><i
                                                    class="mdi mdi-eye-outline"></i></button>
                                        </div>

                                        <div class="valid-feedback" id="errorpassword">邮件地址不正确!</div>
                                        <div class="invalid-feedback">密码长度至少为六位,只能是大小写字母或数字?</div>
                                    </div>

                                    <div class="form-group mb-3">
                                        <label for="confirm_password" class="form-label">确认密码</label>
                                        <div class="input-group auth-pass-inputgroup">
                                            <input type="password" class="form-control" id="confirm_password"
                                                   placeholder="输入确认密码"
                                                   name="confirm_password" aria-describedby="inputGroupPrepend1"
                                                   required>

                                            <button class="btn btn-light ms-0" type="button"
                                                    id="confirm_password-addon"><i class="mdi mdi-eye-outline"></i>
                                            </button>
                                        </div>


                                        <div class="valid-feedback" id="errorconfirm_password">输入确认密码!</div>
                                        <div class="invalid-feedback">输入确认密码?</div>

                                    </div>

                                    <div class="mb-4">
                                        <p class="mb-0"> 注册即表示您同意{{ object.product_name }}使用条款 <a href="#"
                                                                                                              class="text-primary">条款</a>
                                        </p>
                                    </div>
                                    <div class="mb-3">
                                        <button class="btn btn-primary w-100 waves-effect waves-light" type="submit">
                                            注册
                                        </button>
                                        <input type="hidden" name="csrf_token" value="{{object.csrf_token}}"/>
                                    </div>
                                </form>

                            </div>
                            <div class="mt-4 mt-md-5 text-center">
                                <p class="mb-0">©
                                    <script>document.write(new Date().getFullYear())</script>
                                    {{ object.product_name }} . Crafted with <i class="mdi mdi-heart text-danger"></i>
                                    by Amos
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- end auth full page content -->
            </div>
            <!-- end col -->
            <div class="col-xxl-9 col-lg-8 col-md-7 visible-md-block">
                <div class="auth-bg pt-md-5 p-4 d-flex">
                    <div class="bg-overlay bg-primary"></div>
                    <ul class="bg-bubbles">
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                    </ul>
                    <!-- end bubble effect -->
                    <div class="row justify-content-center align-items-center">
                        <div class="col-xl-7">
                            <div class="p-0 p-sm-4 px-xl-0">
                                <div id="reviewcarouselIndicators" class="carousel slide" data-bs-ride="carousel">
                                    <div class="carousel-indicators carousel-indicators-rounded justify-content-start ms-0 mb-0">
                                        <button type="button" data-bs-target="#reviewcarouselIndicators"
                                                data-bs-slide-to="0" class="active" aria-current="true"
                                                aria-label="Slide 1"></button>
                                        <button type="button" data-bs-target="#reviewcarouselIndicators"
                                                data-bs-slide-to="1" aria-label="Slide 2"></button>
                                        <button type="button" data-bs-target="#reviewcarouselIndicators"
                                                data-bs-slide-to="2" aria-label="Slide 3"></button>
                                    </div>
                                    <!-- end carouselIndicators -->
                                    <div class="carousel-inner">
                                        <div class="carousel-item active">
                                            <div class="testi-contain text-white">
                                                <i class="bx bxs-quote-alt-left text-success display-6"></i>

                                                <h4 class="mt-4 fw-medium lh-base text-white">
                                                    “{{ object.product_name
                                                    }}-BIM平台，引领建筑行业数字化转型！我们提供卓越的BIM解决方案，实现建筑、结构、机电等全专业的信息模型整合。通过实时协作、可视化呈现和自动化工作流程，提升项目效率和质量！”
                                                </h4>
                                                <div class="mt-4 pt-3 pb-5">
                                                </div>
                                            </div>
                                        </div>

                                        <div class="carousel-item">
                                            <div class="testi-contain text-white">
                                                <i class="bx bxs-quote-alt-left text-success display-6"></i>

                                                <h4 class="mt-4 fw-medium lh-base text-white">“

                                                    “{{ object.product_name
                                                    }}-CIM平台，引领建筑信息智能化革命！我们专注于创新技术，让建筑管理更高效、更智能。通过CIM，轻松掌控项目全流程，实现精准决策，提升工作效率。选择{{
                                                    object.product_name }}
                                                    CIM，开启智能建筑新篇章！”.”</h4>
                                                <div class="mt-4 pt-3 pb-5">
                                                </div>
                                            </div>
                                        </div>

                                        <div class="carousel-item">
                                            <div class="testi-contain text-white">
                                                <i class="bx bxs-quote-alt-left text-success display-6"></i>

                                                <h4 class="mt-4 fw-medium lh-base text-white">
                                                    “{{ object.product_name
                                                    }}数字化平台是一款功能强大的数字底座工具，通过最新的技术手段，将传统业务流程转化为数字化操作。它集成了人工智能、云计算和大数据分析等先进技术，为企业提供了一站式数字化解决方案。”</h4>
                                                <div class="mt-4 pt-3 pb-5">
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <!-- end carousel-inner -->
                                </div>
                                <!-- end review carousel -->
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- end col -->
        </div>
        <!-- end row -->
    </div>
    <!-- end container fluid -->
</div>


<!-- JAVASCRIPT -->
<script src="/web/static/assets/libs/jquery/jquery.min.js"></script>
<script src="/web/static/assets/libs/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/web/static/assets/libs/metismenu/metisMenu.min.js"></script>
<script src="/web/static/assets/libs/simplebar/simplebar.min.js"></script>
<script src="/web/static/assets/libs/node-waves/waves.min.js"></script>
<script src="/web/static/assets/libs/feather-icons/feather.min.js"></script>
<!-- pace js -->
<script src="/web/static/assets/libs/pace-js/pace.min.js"></script>
<!-- password addon init -->
<script src="/web/static/assets/js/pages/pass-addon.init.js"></script>
<!-- validation init -->
<script src="/web/static/assets/js/pages/validation.init.js"></script>

<script>
    function validateForm() {
        var email = document.getElementById("login").value;//获取输入的字符串
        var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;//验证邮箱的正则表达式
        var ok = emailRegExp.test(email);//验证是否符合要求

        if (ok) {
            document.getElementById("erroremail").innerText = "输入的格式符合要求";
            $("#erroremail").css("border-color", "#089d73");
            return true;
        } else {
            document.getElementById("erroremail").innerText = "输入的格式不符合要求！！！";
            $('#erroremail').addClass("invalid-feedback");
            return false;
        }
        document.getElementById("login").onfocus = function () {
            document.getElementById("erroremail").innerText = "";
        }
    }

    function check_password() {
        var check = false;
        var password = document.getElementById("password").value;
        var confirm_password = document.getElementById("confirm_password").value;

        if (password != confirm_password) {

            $("#errorconfirm_password").removeClass("valid-feedback");
            $("#confirm_password").removeClass("valid-feedback");


            document.getElementById('errorconfirm_password').classList.add("invalid");
            document.getElementById('confirm_password').classList.add("invalid");

            document.getElementById("errorconfirm_password").innerText = "两次密码不一致！！！";

            $("#errorconfirm_password").css("border-color", "#f41127");
            $("#confirm_password").css("border-color", "#f41127");
            check = false;
        } else {
            // $('#errorconfirm_password').addClass("valid-feedback");
            $("#errorconfirm_password").css("border-color", "#089d73");
            $("#confirm_password").css("border-color", "#089d73");
            check = true;
        }
        return check;
    }

    function validator() {
        //输入项的验证
        $('#myForm').bootstrapValidator({
            message: '输入值不满足不满足系统要求',
            excluded: [':disabled'],
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            live: 'enabled',
            fields: {
                password: {
                    message: '新密码不满足系统要求',
                    validators: {
                        notEmpty: {
                            message: '用户新密码不能为空'

                        },
                        regexp: {
                            regexp: /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{8,16}$/,
                            message: '用户新密码长度为8至16位,并且需要包含数字、小写字母、大写字母、符号(至少三种)'
                        },
                        identical: {
                            field: 'confirm_password',
                            message: '用户新密码与确认密码不一致！'
                        },
                        stringLength: {
                            min: 8,
                            max: 50,
                            message: '用户新密码长度不能少于8位'
                        }
                    }

                },
                confirm_password: {
                    validators: {
                        notEmpty: {
                            message: '确认密码不能为空'
                        },
                        regexp: {
                            regexp: /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{8,16}$/,
                            message: '用户确认密码长度为8至16位,并且需要包含数字、小写字母、大写字母、符号(至少三种)'
                        },
                        identical: {
                            field: 'password',
                            message: '用户新密码与确认密码不一致！'
                        },
                        stringLength: {
                            min: 8,
                            max: 50,
                            message: '用户确认密码长度在8-50之间'
                        }
                    }
                }
            }
        });
    }
</script>

<!--<script>-->

<!--    $(function () {-->
<!--        $('#loginForm').bootstrapValidator({-->
<!--            message: 'This value is not valid',-->
<!--            //提供输入验证图标提示-->
<!--            // feedbackIcons: {-->
<!--            //     valid: 'glyphicon glyphicon-ok',-->
<!--            //     invalid: 'glyphicon glyphicon-remove',-->
<!--            //     validating: 'glyphicon glyphicon-refresh'-->
<!--            // },-->
<!--            fields: {-->
<!--                // username: {-->
<!--                //     message: '用户名验证失败',-->
<!--                //     validators: {-->
<!--                //         notEmpty: {-->
<!--                //             message: '用户名不能为空'-->
<!--                //         },-->
<!--                //          stringLength: {-->
<!--                //              min: 6,-->
<!--                //              max: 30,-->
<!--                //              message: '用户名长度必须在4到12之间'-->
<!--                //          },-->
<!--                //          threshold :  4 , //设置4字符以上开始请求服务器-->
<!--                //          //有待验证，备注以备下次使用。-->
<!--                //          //bootstrap的remote验证器需要的返回结果一定是json格式的数据 :-->
<!--                //          //{"valid":false} //表示不合法，验证不通过-->
<!--                //          //{"valid":true} //表示合法，验证通过-->
<!--                //          remote: {//发起Ajax请求。-->
<!--                //              url: 'user/name',//验证地址-->
<!--                //               data:{userName:$('input[name="userName"]').val() }-->
<!--                //              message: '用户已存在',//提示消息-->
<!--                //              delay :  2000,//设置2秒发起名字验证-->
<!--                //              type: 'POST' //请求方式-->
<!--                //          }-->
<!--                //     }-->
<!--                // },-->
<!--                password: {-->
<!--                    validators: {-->
<!--                        notEmpty: {-->
<!--                            message: '密码不能为空'-->
<!--                        },-->
<!--                        stringLength: {-->
<!--                            min: 6,-->
<!--                            max: 18,-->
<!--                            message: '密码长度必须在6到12位之间'-->
<!--                        },-->
<!--                        regexp: {-->
<!--                            regexp: /^[a-zA-Z0-9_]+$/,-->
<!--                            message: '密码只能包含大写、小写、数字和下划线'-->
<!--                        }-->
<!--                    }-->
<!--                }-->
<!--            }-->
<!--        })-->
<!--            .on('success.form.bv', function (e) {//点击提交之后-->
<!--                e.preventDefault();-->
<!--                var $form = $(e.target);-->
<!--                var bv = $form.data('bootstrapValidator');-->

<!--                // Use Ajax to submit form data 提交至form标签中的action，result自定义-->
<!--                $.post($form.attr('action'), $form.serialize(), function (result) {-->
<!--                    //恢复submit按钮disable状态。-->
<!--                    $('#myForm').bootstrapValidator('disableSubmitButtons', false);-->
<!--                    //do something...-->
<!--                });-->
<!--            });-->
<!--    });-->


<!--</script>-->

<script type="text/javascript">
    $(function () {
        $('#loginForm').bootstrapValidator({
            message: 'This value is not valid',
            // feedbackIcons: {
            //     valid: 'glyphicon glyphicon-ok',
            //     invalid: 'glyphicon glyphicon-remove',
            //     validating: 'glyphicon glyphicon-refresh'
            // },
            fields: {
                login: {
                    message: 'The login is not valid',
                    validators: {
                        notEmpty: {
                            message: '用户名不能为空'
                        },
                        stringLength: {
                            min: 2,
                            max: 12,
                            message: '用户名由2-12位字符组成'
                        },
                        threshold: 2,//有2字符以上才发送ajax请求
                        remote: {//ajax验证。server result:{"valid",true or false}
                            url: "/signup_name",
                            message: '用户名已存在,请重新输入',
                            delay: 1000,//ajax刷新的时间是1秒一次
                            type: 'POST',
                            //自定义提交数据，默认值提交当前input value
                            data: function (validator) {

                                return {
                                    login: $("input[name=login]").val(),
                                    method: "checklogin"//UserServlet判断调用方法关键字。
                                };
                            }
                        }
                    }
                },
                // userEmail: {
                //     validators: {
                //         notEmpty: {
                //             message: '邮箱不能为空'
                //         },
                //         emailAddress: {
                //             message: '输入不是有效的电子邮件地址'
                //         }
                //     }
                // },
                // userPassword: {
                //     validators: {
                //         notEmpty: {
                //             message: '密码不能为空'
                //         },
                //         stringLength: {
                //             min: 6,
                //             max: 10,
                //             message: '密码由6-10位字符组成'
                //         },
                //         identical: {
                //             field: 'confirmUserPassword',
                //             message: '密码输入不一致'
                //         }
                //     }
                // },
                // confirmUserPassword: {
                //     validators: {
                //         notEmpty: {
                //             message: '密码不能为空'
                //         },
                //         stringLength: {
                //             min: 6,
                //             max: 10,
                //             message: '密码由6-10位字符组成'
                //         },
                //         identical: {
                //             field: 'userPassword',
                //             message: '密码输入不一致'
                //         }
                //     }
                // }
            }
        });
    });
</script>
</body>
</html>